#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int argc,char* argv[],char* env[])
{
        putenv("MYVAL=105");

            pid_t pid = fork();

            if (pid == 0) {
                        // 子进程中访问环境变量
                                 printf("Child process: MYVAL = %s\n", getenv("MYVAL"));
                                         exit(0);
                                             
            } else if (pid > 0) {
                        // 父进程中访问环境变量
                                 printf("Parent process: MYVAL = %s\n", getenv("MYVAL"));
                                         wait(NULL);
                                             
            } else {
                        printf("Error: fork failed\n");
                                exit(1);
                                    
            }

                return 0;

}


//int main(int argc,char* argv[],char* env[])
//{
//        extern char** environ;
//            putenv("MYVAL=105");
//                int i=0;
//                    for(i=0;environ[i];i++)
//                    {
//                                printf("%s\n",environ[i]);
//                                    
//                    }
//                        printf("******************************************************************\n");
//
//                            for(i=0;env[i];i++)
//                            {
//                                        printf("%s\n",env[i]);
//                                            
//                            }
//
//                                return 0;
//
//}

//int main(int argc,char* argv[],char* env[])
//{
//    extern char** environ;
//    putenv("MYVAL=105");
//    int i=0;
//    for(i=0;environ[i];i++)
//    {
//        printf("%s\n",environ[i]);
//    }
//    printf("******************************************************************\n");
//
//    for(i=0;env[i];i++)
//    {
//        printf("%s\n",env[i]);
//    }
//
//    return 0;
//}
////int max_cnt=0;
////int main()
////{
////    while(1)
////    {
////        pid_t id=fork();
////        if(id<0)
////        {
////            printf("fork error:%d\n",max_cnt);
////            break;
////        }
////        else if(id==0)
////        {
////            while(1)
////            {
////                sleep(1);
////            }
////        }
////        else{
////
////        }
////        max_cnt++;
////    }
////}
